#ifndef PRIORITYQUEUE_H
#define PRIORITYQUEUE_H

#include <QObject>
#include <QQueue>
#include "downloadtask.h"

class PriorityQueue
{
public:
    explicit PriorityQueue();

    void enqueue(DownloadTask *task);
    bool isEmpty() const;
    DownloadTask* dequeue();
    
private:
    QQueue<DownloadTask*> lowQueue;
    QQueue<DownloadTask*> normalQueue;
    QQueue<DownloadTask*> highQueue;
    
};

#endif // PRIORITYQUEUE_H
